日志服务智能异常分析App提供模型训练和实时巡检功能,支持对日志、指标等数据进行自动化、智能化、自适应地模型训练和异常巡检。本文介绍如何为异常标签的数据,创建模型训练任务和实时巡检任务。
数据样例
本文基于如下数据样例,创建模型训练任务和实时巡检任务。
重要字段说明如下表所示。
字段名称 | 说明 |
| 异常标签。其中:
|
| 实体字段。 |
| 时间戳,单位:秒。 |
| 特征字段。 |
步骤一:创建模型巡检任务
登录日志服务控制台。
进入创建任务页面。
在日志应用区域的智能运维页签下,单击智能异常分析。
在实例列表中,单击目标实例。
在左侧导航栏中,选择分析任务> 智能巡检>模型训练。
在模型训练任务区域,单击立即创建。
在创建模型训练作业配置向导的基础信息步骤中,完成如下配置,然后单击下一步。
参数
说明
任务名
模型训练任务的名称。
Project
选择源日志库所在的Project。
日志库类型
源数据所存储的位置,本文选择日志库。
源数据库
选择源数据所在的日志库。
角色
如果您在创建实例时已完成授权,则此处自动显示AliyunLogETLRole角色的角色标识。
目标日志库
目标日志库,固定为internal-ml-log。
在创建模型训练作业配置向导的数据特征配置步骤中,完成如下配置。
在数据特征配置页签下,完成如下配置。
本案例针对有异常标签的数据,因此可直接使用SQL语句获取带标签的指标序列。
重要需要在SQL语句中添加LIMIT子句,避免数据提取不完整。
参数名称
说明
时间
源数据中用于标识时间列的字段。
粒度
数据的观测间隔,单位为秒。取值范围为5~3600。
标签名
用于标记异常的标签。
实体
源数据中用于标识具体实体的字段。
模型训练任务会针对每个实体训练一个模型。
特征
源数据中用于标识具体特征数据的字段。
单击下一步。
在创建模型训练作业配置向导的算法配置步骤中,完成如下配置,然后单击完成。
目前,只支持使用监督异常检测算法。
调用配置包括起始时间(训练集开始时间)、结束时间(验证集的开始时间)、模型的训练集的结束时间(验证集的结束时间),三种时间关系如下图所示。
步骤二:查看训练结果
任务运行一段时间后,您可以在模型训练任务列表中,单击目标任务,查看训练结果。详细的训练结果数据说明,请参见智能巡检(模型训练)。
查看任务信息
在模型训练作业详情页面,查看任务运行的阶段,包括读取训练数据 > 训练数据读取完成 > 开始模型训练 > 模型训练完成 > 读取验证数据 > 验证数据读取完成 > 开始预测验证数据 > 预测完成,生成报告 > 开始保存模型 > 保存模型完成 > 任务完成,点击查看总时间。
查看实体信息
在实体信息列表中,单击目标实体,然后单击查看该实体的任务详情后,系统将展示目标实体的详细信息。具体说明如下:
单个实体进展信息统计图表中展示该实体的进展信息,包括开始特征工程 > 特征工程完成 > 开始模型训练 > 模型训练完成 > 开始训练预测 > 训练预测完成 > 开始验证预测 > 验证预测完成 > 生成报告中 > 生成报告完成。
时间配置统计图表中展示模型训练相关的时间信息。
验证集评价指标统计图表中展示
auc
、macro_f1
、precesion
和recall
指标。指标
说明
auc
AUC值为假阳性率和真阳性率为轴的曲线下面积大小。
假阳性率=实际为正常的样本中被模型检测为异常的样本数量/实际为正常的样本数量。
真阳性率=实际为异常的样本中被模型检测为异常的样本数量/实际为异常的样本数量,等同于和recall。
macro_f1
精确率和召回率的调和平均值。计算公式:
F1 = 2 * (precision * recall) / (precision + recall)
。此处采集Macro Average宏平均方式,具体是在计算均值时使每个类别具有相同的权重,最后结果是每个类别指标的算术平均值。
precesion
精确率。计算公式:模型检测为异常的样本中实际也为异常的样本数量/被检测为异常的样本数量。
recall
召回率,计算公式: 实际为异常的样本中被模型检测为异常的样本数量/实际为异常的样本数量。
数据统计值统计图表中展示训练集异常点数量、训练集长度、验证集异常点数量和验证集长度信息。
数据集结果可视化统计图表可视化展示训练集和验证集数据的变化情况,您可以通过鼠标拖动查看更为精细的曲线状态。其中:
蓝色区域代表训练集部分,红色区域代表验证集部分。
红竖线表示该时间点存在异常数据,与红色竖线重叠的绿线表示为该点预测的异常分数。
字段
说明
train_value
训练集中某个特征的值。
train_label
训练集异常标签。
train_score
训练集预测异常分数。
train_point_value
等同于
train_value
,为了便于在图中标记异常点。当训练集预测异常分数大于阈值时,图中train_point_value
对应的点会被标记为红色。默认情况下,阈值范围为[0.5,1]。您可以在本页面的异常分数文本框设置异常分数阈值。
val_value
验证集中某个特征的值。
val_label
验证集异常标签。
val_score
验证集预测异常分数。
val_point_value
等同于
val_value
,为了便于在图中标记异常点。当验证集预测异常分数大于阈值时,图中val_point_value
对应的点会被标记为红色。默认情况下,阈值范围为[0.5,1]。您可以在本页面的异常分数文本框设置异常分数阈值。
异常事件列表统计图表中展示异常事件的详细信息。
步骤三:创建预测任务
在模型训练任务详情页面的右上角,单击创建预测任务。
在创建预测任务面板中,完成如下配置,然后单击确定。
参数名称
说明
任务名
预测任务名称。
实体id
选择待实时巡检的实体。
起始时间
对应模型训练任务配置中的结束时间。目前,不支持自定义配置。
数据延时时长
根据您数据写入的延时设置延时时长。例如您当前写入Logstore的数据存在60秒延迟,则此处最少设置为60秒。
是否发生告警
选择是后,支持对巡检结果设置告警。
告警策略
告警策略用于合并、静默和抑制已产生的告警。
选择极简模式和普通模式时,您无需配置告警策略。日志服务默认使用SLS内置动态告警策略(sls.builtin.dynamic)进行告警管理。
选择高级模式时,您可以选择内置的或自定义的告警策略进行告警管理。如何创建告警策略,请参见创建告警策略。
行动策略
行动策略用于控制告警通知渠道和频率等。
步骤四:查看巡检结果
创建巡检任务后,您可以在实时巡检任务列表中,单击目标任务,查看巡检任务详情。详细的巡检结果数据说明,请参见智能巡检(实时监测)。